RANDAO: RNG Protocol Overview
Commit (Commitment Phase)
- Upon a randomness request, each provider submits a commitment cᵢ to the smart contract.
- Each commitment consists of:
TLPᵢ(a Time Lock Puzzle instance)hash(TLPᵢ)
- The hash is recorded on-chain; the actual solution remains hidden.
- Once all commitments are posted, the final entropy & outcome is deterministically locked.
Reveal (Reveal Phase)
Honest Case
- Providers voluntarily reveal the solution to their timelock puzzle:
TLPᵢ(X, N, T)'
- The solution is submitted to the contract.
- This accelerates computation of the final output.
Malicious Case
- If a malicious provider (providerₘ) withholds their reveal:
- Any participant can solve
TLPₘusing sequential squaring. (This takes time, but is guaranteed to complete.) - As long as at least one honest provider exists, the protocol continues.
Key Benefit: Withholding a reveal does not prevent completion; it only delays it.
Verify (Verification Phase)
- The contract verifies each submitted solution:
- Check that
hash(TLPᵢ_solution)equals the originally committedhash(TLPᵢ).
- Check that
- Invalid reveals are rejected.
- Offending providers are flagged and may be penalized via collateral slashing.
Key Benefit: Cryptographic binding guarantees that commitments cannot be altered after submission.
Aggregate (Aggregation Phase)
- After all valid reveals are verified:
- The contract aggregates them using a hash function:
Want to learn more? 👉 Join the Discord: